package com.yunxin.common.utils.oss;

import lombok.Builder;
import lombok.Data;

/**
 * 图片缩放选项
 * @author zero°
 * @since 2023-06-05
 */
@Builder
@Data
public class OssPhotoResizeOption implements OssPhotoOption{

    /**
     * 模式
     */
    private OssPhotoResizeModeEnum mode;

    /**
     * 宽
     */
    private Long width;

    /**
     * 高
     */
    private Long height;

    /**
     * 最大边长
     */
    private Long largestSide;

    /**
     * 最短边长
     */
    private Long shortestSide;

    /**
     * 指定当目标缩放图大于原图时是否进行缩放，1-表示不按指定参数进行缩放，直接返回原图，0-按指定参数进行缩放
     */
    private Long limit;

    /**
     * RGB颜色值
     */
    private String color;

    /**
     * 按比例缩放
     */
    private Long percent;

    @Override
    public OssPhotoOperationTypeEnum operationType() {
        return OssPhotoOperationTypeEnum.RESIZE;
    }
}
